type: object
properties:
  id:
    description: Unique identifier for the permission.
    example: 1
    type: integer
  role:
    description: Unique identifier of the role this permission applies to.
    example: 2f24211d-d928-469a-aea3-3c8f53d4e426
    type: string
    nullable: true
  collection:
    description: What collection this permission applies to.
    example: customers
    type: string
  action:
    description: What action this permission applies to.
    example: create
    type: string
    enum:
      - create
      - read
      - update
      - delete
  permissions:
    description: JSON structure containing the permissions checks for this permission.
    type: object
    nullable: true
  validation:
    description: JSON structure containing the validation checks for this permission.
    type: object
    nullable: true
  presets:
    description: JSON structure containing the preset value for created/updated items.
    type: object
    nullable: true
  fields:
    description: CSV of fields that the user is allowed to interact with.
    type: array
    items:
      type: string
    nullable: true
